﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using YT.Commons;
using YT.DB;
using YT.Modules;

namespace YT.XH.MeniereDisease
{
    public partial class frmMDExamBeforeTreatMtn : Form
    {
        private string mstrSickRecID = string.Empty;
        private DBAccess mdbcon = new DBAccess(false, false);
        public frmMDExamBeforeTreatMtn()
        {
            InitializeComponent();
        }
        public frmMDExamBeforeTreatMtn(string strSickRecID)
        {
            InitializeComponent();
            mstrSickRecID = strSickRecID;
        }
        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (!UpdateData()) return;
            this.Close();
        }

        private void FillBaseInfo()
        {
            string strSQL = string.Empty;
            strSQL ="select * from mSickPerson where sickRecID='"+ mstrSickRecID  +"'";
            DataRow drRow = mdbcon .GetDataFirstRow ( strSQL ) ;
            if (drRow != null)
            {
                txtSickName.Text =CvtFunc.ToString ( drRow["SickName"]);
                txtAddress.Text = CvtFunc.ToString(drRow["Address"]);
                txtPhone.Text = CvtFunc.ToString(drRow["Phone"])+"  " + CvtFunc.ToString(drRow["MobilePhone"]);
                txtRemark.Text = CvtFunc.ToString(drRow["Remark"]);            
            }           

        }

        private bool FillDetail()
        {
            this.dgvDetail.Rows.Clear();
            string strSQL = string.Empty;
            int intRow=0;
            strSQL = "select * from ExamBeforeTreatHdr where sickRecID='" + mstrSickRecID + "' and Type='"+ TitleType.MeniereDisease   +"'  order by SeqNo";
            DataTable dtDtl = mdbcon.GetDataTable(strSQL);
            foreach (DataRow drRow in dtDtl.Rows)
            {
                dgvDetail.Rows.Add();
                this.dgvDetail.Rows[intRow].Cells[colRecID.Index].Value = CvtFunc.ToString(drRow["RecID"]);   
                this.dgvDetail.Rows[intRow].Cells[colDate.Index ].Value = BaseFunctions.FormatDate(CvtFunc.ToString ( drRow["ExamDate"]), DateFormatOption.DateFmtYMD);
                this.dgvDetail.Rows[intRow].Cells[ColSeqNo.Index].Value = CvtFunc.ToString(drRow["SeqNo"]);
                this.dgvDetail.Rows[intRow].Cells[ColRemark.Index].Value = CvtFunc.ToString(drRow["Remark"]);   
                intRow ++;
            }
            return true;
        }

        private bool UpdateData()
        {
            this.dgvDetail.EndEdit();
            DBAccess dbcon = new DBAccess(false, false);
            foreach (DataGridViewRow dgvRow in this.dgvDetail.Rows)
            {
                string strSQL = string.Empty;
                string strRemark =CvtFunc.ToString ( dgvRow.Cells[ColRemark.Index ].Value );
                string strRecID= CvtFunc.ToString ( dgvRow.Cells [ colRecID.Index ].Value );
                strSQL ="update ExamBeforeTreatHdr set Remark = '"+ strRemark +"' where RecID='"+ strRecID +"'";
                dbcon.ExecuteSql(strSQL);
            }
            dbcon.CloseCon();
            return true;
        }

        private void frmMDExamBeforeTreatMtn_Load(object sender, EventArgs e)
        {
            this.Text = "治疗前检查";
            FillBaseInfo();
            FillDetail();
            timer1.Start();
        }

        private void frmMDExamBeforeTreatMtn_FormClosed(object sender, FormClosedEventArgs e)
        {
            mdbcon.CloseCon();
            SysVar.marrFormList.Remove(this.Name);
        }

        private void dgvDetail_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex ==  colDetail.Index )
            {
                ShowMtn();    
            }            
        }

        private void ShowMtn( )
        {
            string strSeqNo = string.Empty;
            strSeqNo =CvtFunc.ToString ( this.dgvDetail.CurrentRow.Cells[ColSeqNo.Index].Value);

            //这里写要填写的具体内容,就是“治疗前的MTN"
            FormStatus mfrmStatus = new FormStatus();
            mfrmStatus = FormStatus.Update ;
            
            frmMDExamBeforeTreatTitle frmBefore = new frmMDExamBeforeTreatTitle(mstrSickRecID, mfrmStatus,strSeqNo );
            frmBefore.ShowDialog();
            FillDetail();        
        }

        private void btnNew_Click(object sender, EventArgs e)
        {
            FormStatus mfrmStatus=new FormStatus();
            mfrmStatus = FormStatus.AddNew; 
            frmMDExamBeforeTreatTitle frmBefore = new frmMDExamBeforeTreatTitle(mstrSickRecID, mfrmStatus);
            frmBefore.ShowDialog();
            FillDetail();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (this.Opacity >= 1)
                timer1.Stop();
            this.Opacity += 0.04;
        }
    }
}
